package com.yxj07;

import java.io.*;

public class CopyFolderDemo {
    public static void main(String[] args) throws IOException{
        //创建数据源目录File对象，路径是：D:\\桌面\\报名照片.jpg
        File srcFolder = new File("D:\\yxjtest");
        //获取数据源目录File对象的名称（yxjtest）
        String srcFolderName = srcFolder.getName();
        //创建目的地目录File对象，路径名是模块名+yxjtest组成(D:\Ccode\jdata-structure\ByteStream9\yyy)
        File destFolder = new File("yyy",srcFolderName);
        //判断目的地目录对应的File是否存在，如果不存在，就创建
        if(!destFolder.exists()) {
            destFolder.mkdir();
        }
        //获取数据源目录下所有文件的File数组
        File[] listFiles = srcFolder.listFiles();
        //遍历File数组，得到每一个File对象，读File对象，其实就是数据源文件
        for(File srcFile : listFiles) {
            //数据源文件：D:\\yxjtest\\1.png
            //获取数据源文件File对象的名称（1.png）
            String srcFileName = srcFile.getName();
            //创建目的地文件File对象，路径名是目的地目录+1.png组成(yyy\\yxjtest\\1.png)
            File destFile = new File(destFolder,srcFileName);
            //复制文件
            copyFile(srcFile,destFile);
        }
    }
    private static void copyFile(File srcFile,File destFile) throws IOException {
        BufferedInputStream bis  = new BufferedInputStream(new FileInputStream(srcFile));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));
        byte[] bys = new byte[1024];
        int len;
        while((len=bis.read()) != -1) {
            bos.write(bys,0,len);
        }
        bos.close();
        bis.close();
    }
}
